﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Data.Dao.Linq;
using Crosland.Automotriz.Core;
using System.Data.SqlClient;
using Crosland.Automotriz.Seguridad.ControlExeption;

namespace Crosland.Automotriz.Logic.Linq
{
    public class clsT_Ven_Metas_CabLogic
    {
        clsT_Ven_Metas_CabDAO clst_ven_metas_cab = new clsT_Ven_Metas_CabDAO();


        public List<T_META> lista(int id_general_det) {
            return clst_ven_metas_cab.lista(id_general_det);
        
        }

        public string Lista_vendedor_ofocina(int id_ubic_vend_cab)
        {
            return clst_ven_metas_cab.Lista_vendedor_ofocina(id_ubic_vend_cab);
        
        }

        public IEnumerable<Object> ListaMetas() {
            try {
                return clst_ven_metas_cab.ListaMetas();
            }
            catch (SqlException sqlEx)
            {
                throw new RunException("ERROR EN EL PROCEDIMIENTO ListaMetas", sqlEx);
            }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

            
        
        }

        public IEnumerable<Object> listaTipoMeta() {
            return clst_ven_metas_cab.listaTipoMeta();
        
        }

        public bool Insertar(T_VEN_METAS_CAB Obj) {
            try {
                return clst_ven_metas_cab.Insertar(Obj);
            }
            catch (SqlException sqlEx)
            {
                throw new RunException("ERROR EN EL PROCEDIMIENTO Insertar", sqlEx);
            }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }

            
        }
        public bool ModificarCAB(int num_ped, string descripcion, int id_general_det, int? id_tipo, int id_tipo_valor)
        {
            try {
                return clst_ven_metas_cab.ModificarCAB(num_ped, descripcion, id_general_det, id_tipo, id_tipo_valor);
            }

            catch (SqlException sqlEx)
            {
                throw new RunException("ERROR EN EL PROCEDIMIENTO ModificarCAB", sqlEx);
            }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }
          
        
        }


        public int UltimoNumero() {
            return clst_ven_metas_cab.UltimoNumero();
        }
        public IEnumerable<Object> ListaTipoValor() {
            try
            {
                return clst_ven_metas_cab.ListaTipoValor();
            }
            catch (SqlException sqlEx)
            {
                throw new RunException("ERROR EN EL PROCEDIMIENTO ListaTipoValor", sqlEx);
            }
            catch (Exception ex) { throw new RunException("ERROR EN LA APLICACION POR FAVOR CONSULTE: ", ex); }
            
        }


        public String RetorTipoValor(int ID_UBIC_VEND_CAB)
        {

            return clst_ven_metas_cab.RetorTipoValor(ID_UBIC_VEND_CAB);
        }

    }
}
